﻿using GDM.Hogar.Entidades;
using GDM.Hogar.Managers.Contratos;
using GDM.Hogar.Repositorios.Contratos;
using System;
using System.Collections.Generic;

namespace GDM.Hogar.Managers
{
    public class RemitoManager : IRemitoManager
    {
        private readonly IRemitoRepositorio _remitoRepositorio;

        public RemitoManager(IRemitoRepositorio remitoRepositorio)
        {
            if (remitoRepositorio == null)
            {
                throw new ArgumentNullException("remitoRepositorio");
            }
            _remitoRepositorio = remitoRepositorio;
        }

        public void ActivarRemito(int remitoId, bool activo)
        {
            _remitoRepositorio.ActivarRemito(remitoId, activo);
        }

        public Remito CrearRemito(Remito remito)
        {
            return _remitoRepositorio.CrearRemito(remito);
        }

        public void ActualizarRemito(Remito remito)
        {
            _remitoRepositorio.ActualizarRemito(remito);
        }

        public bool ExisteRemito(string nroRemito)
        {
            var remito = _remitoRepositorio.ObtenerRemito(nroRemito);
            return remito != null;
        }

        public Remito ObtenerRemito(int remitoId)
        {
            return _remitoRepositorio.ObtenerRemito(remitoId);
        }

        public IList<ConsultaRemito> ObtenerRemitos()
        {
            return _remitoRepositorio.ObtenerRemitos();
        }
    }
}